package com.quick.develop.flowable.service.task;

import com.quick.develop.flowable.domain.vo.draft.BpmDraftReqVO;
import com.quick.develop.framework.common.page.PageResult;
import com.quick.develop.flowable.domain.draft.BpmDraftEx;
import com.quick.develop.flowable.domain.draft.BpmDraftPageReqVO;

/**
 * @author junyuan.liu
 * @description:  草稿
 * @date 2022/6/16 10:32
 */
public interface IBpmDraftService {

    /** 
     * @description  分页查询草稿
     * @param reqVO 请求
     * @return com.quick.develop.framework.domain.PageResult<com.quick.develop.flowable.domain.draft.BpmDraftEx>
     * @author junyuan.liu
     * @date 2022/6/16 11:15
     */ 
    PageResult<BpmDraftEx> selectPage(BpmDraftPageReqVO reqVO);
    
    /** 
     * @description 获取草稿数量
     * 
     * @return long
     * @author junyuan.liu
     * @date 2022/7/29 17:55
     */ 
    long getDraftCount();
    
    /** 
     * @description  新增草稿
     * @param reqVO 请求
     * @author junyuan.liu
     * @date 2022/6/16 11:16
     */ 
    void addDraft(BpmDraftReqVO reqVO);
    
    /** 
     * @description  更新草稿
     * @param reqVO 请求
     * @return void
     * @author junyuan.liu
     * @date 2022/6/16 11:16
     */ 
    int updateDraft(BpmDraftReqVO reqVO);
    
    /** 
     * @description  物理删除草稿 确保草稿表数据少
     * @param id ID
     * @return int
     * @author junyuan.liu
     * @date 2022/6/16 11:16
     */ 
    int deleteDraftById(Long id);
}
